home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / door / twview93.zip / DOCS.TXT < prev    next >
Text File  |  1992-06-18  |  32KB  |  601 lines

  1. Documentation (heh!) for the Trade Wars Viewer programs -- DOS version
  2. Last revision: 6/7/92 by Woody
  3.  
  4. Abstract:
  5. ---------
  6.  
  7. The game Trade Wars is a delightful mix of economic strategy, exploration, and
  8. military conquest.  For the first two to succeed, however, requires a good
  9. working knowledge of the universe.  Unfortunately, keeping all the information
  10. about which sectors you've visited, which are ports, and which is connected to
  11. which can become a nightmare.  The two main programs, "Convert" and "Examine"
  12. should help to make keeping that information straight a little easier, and
  13. increase your enjoyment of the game.
  14.  
  15. The first program, "Convert," creates a data base of explored sectors, warps
  16. for each sector, if it is a port or not, and if a port, what it is selling.
  17. It is able to use the "interrogation" mode of your Crai, to enable fairly
  18. rapid and simple collection of data about the universe.
  19.  
  20. The second, "Examine," allows you to look at that data base in a variety of
  21. ways, from visual graphing of the data to asking questions about nearby ports
  22. and so on.
  23.  
  24. A third, "Offline," performs various inquiry tasks.
  25.  
  26.  
  27. What you need to run the programs:
  28. ----------------------------------
  29.  
  30. To create the data base, you need to be in a terminal program that allows
  31. ASCII uploads and ASCII captures.  The best situation is one that allows you
  32. to do them simultaneously, i.e., capture input while uploading a file.
  33. Second best is to have a large scrollback buffer, that allows you to take
  34. pieces out of the scrollback and append them to a file.
  35.  
  36. I've compiled two versions of the programs, one for DOS machines and another
  37. for Macs.  (Source code is included in the TWVIEW package.) A port has been
  38. made to the amiga: look for a file TWVIEWxx.LHA.  If you are running the DOS
  39. version, you will need the device driver (.BGI files) suitable for your
  40. machine.  These files should simply reside in the default directory.
  41.  
  42.  
  43. HOW TO CREATE AND MAINTAIN THE ORIGINAL DATA BASE:
  44. --------------------------------------------------
  45.  
  46. There are two methods to develop the data base.  Which you use depends on (i)
  47. how good you are at flinging files about and (ii) how much new information you
  48. are trying to collect.  If you just want to find out about a few sectors, use
  49. the "old" method.  If you want to collect a full set of data, use the "new"
  50. computer interrogation mode.
  51.  
  52. In both modes, you should should turn ANSI off at least for the duration of
  53. the transfer.  Do this with <N> from the main computer menu.
  54.  
  55.  
  56. The "Old" method.
  57. -----------------
  58.  
  59. First, log into the game, and invoke the ship's computer.  Tell the computer
  60. you want the known universe report, by hitting K.  Now start an ASCII capture.
  61. If you have explored more than half the universe, tell the computer that you
  62. want unexplored sectors by hitting U and return.  The computer will list your
  63. unexplored sectors.  If you have explored less than half, tell the computer
  64. you want explored sectors by hitting E and return.  The computer will list
  65. your known sectors.  If you've explored a lot of sectors, there may be a
  66. [PAUSE] in the listing; just hit the space bar and go on past it.  (Its okay
  67. if it shows up in your ASCII download.)  When the listing is finished, turn
  68. off the capture.  Your captured file must contain either the line that says
  69. "You have explored the following sectors:" or "You have NOT explored the
  70. following sectors:" and at least one blank line after the sectors.  (A little
  71. more before or after is okay too.)
  72.  
  73. Now shift from your terminal program to the program "Convert".  At the first
  74. prompt, it is asking for your initial data base.  If you've already developed
  75. a data base, and are just updating it, give the name of your old base; if you
  76. don't have an existing data base, just hit a return.  Next, it will ask if it
  77. should be reading a list of explored sectors, a log of inter-warp and port
  78. information, and so on.  Choose option 1.  Next, it'll ask for your "Explored
  79. Sectors" or "Unexplored Sectors" file.  Next, it will ask you to name the file
  80. to generate: use anything you like here but being careful to not accidentally
  81. overwrite something you want to keep.  (The program is smart enough to ask if
  82. you really mean to clobber a file.)  The last question the program will ask
  83. you is if you want an update on your ports: this will add a request for update
  84. for every port. The program maintains information about current trading levels
  85. for each known in the game; this will freshen that information to the current
  86. data. It probably isn't needed very often, but once in a while to update
  87. things it is useful.  (I generally use that only if I've lots of time to play
  88. around: I refresh "interesting" ports by using an upload from the "Examine"
  89. program.)
  90.  
  91. What this step will do is create a file that you can upload to generate lots
  92. of printouts.  Essentially, what it creates is a file with I<sector number>
  93. and R<sector number> for every new sector.  The nice thing is that this will
  94. interface well with the Crai on board your ship.
  95.  
  96. Now back to Tradewars.  You are probably still in Computer mode; if not, get
  97. there.  What you want to do is upload the contents of the file you just
  98. generated with the Convert program into the Crai on your ship.  If you can
  99. do that while doing an ASCII capture, start the capture and then start the
  100. upload.  Otherwise, you may have to start the upload and then retrieve the
  101. results later from your scrollback buffer.  In any case, your captured file
  102. should contain all the I reports (sector nnn has warps to : xxx - yyy - zzz
  103. etc) and all the R reports (Commerce report for ...).  There will be lots of
  104. "I have no record of a port in that sector."'s: that's okay -- have to find
  105. out if there is a port there or not.  If there are a couple of ports that
  106. you are trying to keep track of, you can also call up a port report on them
  107. and store that in the downloaded file: just make sure that when you hit your
  108. R you don't just carriage return but explicitly type in the sector number.
  109.  
  110. Back to the "Convert" program.  Again, tell the program your old data file
  111. (or hit return to start fresh) and this time we are in part 2.  Tell it the
  112. name of the ascii download or capture you just made, and the name you want to
  113. use for your database.  The program will generate the data base.
  114.  
  115.  
  116. The "New" method.
  117. -----------------
  118.  
  119. I should mention at this point that there is a collection of utilities,
  120. TWUTILxx, one of which will automatically gather the two .SCT and .PRT files
  121. described below.  The collection also includes some routines that this
  122. program does not do -- in particular, it includes routines to make good
  123. guesses as to the location of the stardock and class 0 ports even though you
  124. have not done any exploration.  I have not used these programs, but the
  125. documentation is clear and well written (unlike this, sorry) and so you
  126. might want to check them out.
  127.  
  128. First you have to get into computer interrogation mode of your Crai.  To do
  129. this, you need to send ASCII characters 200 through 205 to the Crai.  There
  130. is a file "ON.TXT" included in this package -- do an ASCII upload of ON.TXT
  131. after you have activated the Crai, and you will see a ":" appear.
  132. Alternatively, if you are on an IBM, you can hold down the Alt key, then
  133. type 200, release, hold down alt, type 201, release, etc.
  134.  
  135. Now that you are in interrogation mode, start your ASCII capture; I recommend
  136. using an extension of .SCT.  Type I, and the computer will immediately begin
  137. spewing out sector numbers and warps.  When that finishes, stop the capture,
  138. and start another capture, this time using an extention of .PRT.  Type R, and
  139. the computer will begin spewing out port information.  When that finishes,
  140. stop that capture, shell to DOS, and run the program "Convert."
  141.  
  142. There are two new options in convert: option 8, which parses the .SCT report
  143. you prepared, and option 9 which parses the .PRT report.  Invoke them, then
  144. exit Convert and your data base is complete.
  145.  
  146. This "new" method does not identify class 0 ports (Terra, for one), nor does
  147. it identify the star dock (as the old method did from logs).  That information
  148. is not available from interrogation mode, so you have to add them manually by
  149. using the edit mode of "Convert."
  150.  
  151.  
  152. OTHER CONVERT OPTIONS
  153. ---------------------
  154.  
  155. This takes care of 1 & 2 (old style sector/port info processing) and 8 & 9
  156. (new style sector/port info processing).  For to have the program remember
  157. where you have left fighters, capture a <G> report from the main menu
  158. (remember, with ANSI turned off) and then feed that through option 3.
  159.  
  160. For the Major Space Lanes data (those sectors that get cleared by the Feds
  161. each night) I have a problem.  It turns out that the Martin's haven't used
  162. any of the standard shortest path algorithms in their program.  (Amateurs,
  163. sigh..)  So we have to get the Crai to do the shortest path computation.
  164. To do the computation, you have to know the location of the stardock, and
  165. the two other ports that sell fighters and shields other than Terra.  Option
  166. 4 will generate an upload file, that option 5 will then parse.
  167.  
  168. Many people have reported problems getting the upload file to work properly.
  169. There are two solutions: either fiddle with your ascii upload so that it
  170. doesn't send out more characters until the computer finishes working with
  171. the previous set, or just enter the file generated in #4 by hand yourself.
  172. Its a fairly small file to type.
  173.  
  174. Option 6 allows fellow teammates to collaborate.  You can feed in their
  175. information about sectors, ports, and so on, and use it for yourself.  Of
  176. course, ports that you haven't visited will be marked as "blocked" next time
  177. you do a port scan (since you aren't receiving info from them) but you will
  178. be able to see what kind of port they are, and approximately how much they
  179. are selling.
  180.  
  181. Option 7 allows direct editing.  This is important if, for example, you've
  182. been using the "New" method only, and you know where the ports that sell
  183. Holds, Fighters, and Shields are; if you know the location of the Stardock;
  184. if someone in the game destroys a port you've visited (and you want to mark
  185. that as empty space again); if you create a port; and a new feature to 0.91,
  186. if you want to mark a sector as to be avoided (so TWVIEW won't plot a path
  187. across that sector or show paths from it on the display).  Just choose 7 and
  188. follow the prompts.
  189.  
  190. STRUCTURE OF THE DATA BASE
  191. --------------------------
  192.  
  193. The database is in plain text, so you can examine it yourself if you like.
  194. Information is divided into several categories.  First, are the two lines:
  195.      ::Tradewars Data file::
  196.      SpaceDock is   200
  197. or whatever the corresponding sector is if you have visited the space dock,
  198. or possibly "SpaceDock is 0" if you have not visited it or do not know the
  199. location of the space dock sector.
  200.  
  201. Next is a line of the form:
  202.      7  <- number of notes
  203. where the integer represents how many "Notes" you've stored for the game.
  204.  
  205. A note has the form:
  206.      13 Don't Go Near This Sector!!!!
  207. i.e., a sector number, and a short bit of text.  You can add or delete notes
  208. from within the "Examine" program, as well as display those sectors for which
  209. you've recorded notes.
  210.  
  211. Next is a line of the form:
  212.      105  <- number of Port Infos
  213. followed by lines of the form:
  214.      120    3000    3280   -2530 100  32 100   -60   270  -1024
  215. where the first integer is the sector number for the port; next are the levels
  216. for the three trade goods "Fuel Ore," "Organics," and "Equipment."  A positive
  217. number means that the port is selling the stuff, and a negative number means
  218. the port is buying up to that much of the stuff.  (Remember that the larger
  219. the magnitude of the number, the better the price you get -- ports are more
  220. willing to stretch when the numbers are higher!)  The next three numbers are
  221. percentages of maximum use: a value of 100 means the port is fully refreshed
  222. for that good, 0 means they are all sold out or are not interested in buying
  223. anything.
  224.  
  225. Special Note: If a port doesn't show up on the R report, but there had been
  226. port information stored for it, the previous sales levels are preserved, but
  227. the port usages are all set to zero.  This allows you to identify ports that
  228. have been captured by the Ferrengi or opposing players.
  229.  
  230. Finally, the last three numbers show the absolute change in goods since the
  231. previous port update.  These numbers are used in the <C>hanges report; they
  232. are good for locating where someone has negotiated a planetary contract, for
  233. example.
  234.  
  235. The sectors are in no special order (actually, in order of appearance from the
  236. logs over time) but there must be as many lines as specified in the "<- number
  237. of Port Infos."
  238.  
  239. Next is a line of the form:
  240.      Sector data starts here ...
  241. followed by lines of the form:
  242.      1  6    2    3    4    5    6    7  8     2
  243. <sector> <number of warps> <warp1> ... <warpn> <port code> <etc code>
  244.  
  245. Here, for example, is a report for sector 1: it has six warps, to positions 2
  246. through 7, a port code of 8 (which actually corresponds to class 0) and an
  247. "etc" code of 2.  A "Port Code" corresponds to -1, if the sector is not a
  248. port, 0 through 7 based upon a three bit representation of selling or buying
  249. (for example, sector 120 is selling Ore and Organics and buying Equipment, so
  250. its port code would be 1 * 1 + 1 * 2 + 0 * 4 = 3; don't worry about it, the
  251. program handles figuring out port codes and so on).  The "etc" code tells
  252. about various pieces of information, again depending on bit representation.
  253. Currently the codes in use are:
  254.      NoteExists = 1;
  255.      IsPort     = 2;
  256.      HasFighters= 4;
  257.      SpaceLane  = 8;
  258.      Avoid      = 16;
  259.      Stardock   = 128;
  260. but others will probably follow.  (Note that the Stardock is also a port; so
  261. its etc code is 128 + 2 = 130; if a random port had a note attached, its code
  262. would be 2 + 1 = 3.)
  263.  
  264.  
  265. HOW TO USE THE DATA BASE VIEWER
  266. -------------------------------
  267.  
  268. Its pretty well impossible to draw a decent map with all 1000 sectors, so the
  269. data base viewer doesn't try to do that.  Run "Examine", and tell it the name
  270. of your data base.  You will be presented with a list of options.  In version
  271. 0.92, you get to choose from the following list:
  272.  
  273.      Choose one of:
  274.        <A>dd note
  275.        <B>usiest ports
  276.        <C>lassify ports
  277.        <D>elete note
  278.        <E>vil pair [SxS & xxB]
  279.         Closest place to buy <F>ighters, shields, and holds
  280.         Note <I>nformation
  281.        <L>ength of path between two sectors
  282.        <M>isc config options
  283.        <N>earest port
  284.        <P>aired ports
  285.        <Q>uit
  286.         Nearest <S>ectors
  287.        <T>ranswarp menu
  288.        Nearest <U>nexplored sectors
  289.        <V>iew space in graphic format
  290.        <W>here is nearest fighter cloud
  291.         Net change <X>
  292.        <Y>ou asked for non-adjacent trading pairs?
  293.  
  294. Here is what the commands will do:
  295.  
  296.      <A>dd note
  297.      <D>elete note
  298.      Note <I>nformation
  299. These manage the notes that you may have stored on your universe.  Typical
  300. notes might be "enemy base here!", "great trading spot", "Fedspace", or
  301. whatever.  Option "A" will add a note to a sector, option "D" will delete a
  302. note from a sector, and option "I" will present you with a list of the notes
  303. you've made, sorted by distance from a current sector.
  304.  
  305.      <B>usiest ports
  306. This will offer a display of your ports, sorted by usage.  First to be listed
  307. will be all class 0 ports and all ports with a usage field of 0.  (In
  308. particular, any port that has been previously scanned, but for which you can
  309. not now obtain a scan will appear here.)  Then will occur all ports sorted by
  310. fraction of maximum use.
  311.  
  312.      <C>lassify ports
  313. Want to know where all the BBB ports are?  This is the command for you.  It
  314. will list all known ports of a specific class.  Choose the class from the
  315. menu, and you get the regular port listing.
  316.  
  317.      <E>vil pair
  318. This idea comes from the TWUTIL package.  Suppose you are an evil player and
  319. want to do the trade/steal routine.  What do you want?  You need to
  320. transwarp to someplace where you can pick up some equipment, then move
  321. someplace where you can sell the equipment to do the trade/steal cycle.  You
  322. would probably continue this until you get busted: you then want to go to
  323. someplace to pick up ore so you can transwarp to some a class 0 port to get
  324. replacement holds.  So, what this routine identifies is a port that sells
  325. ore and equipment, close to a port that buys equipment.
  326.  
  327.      Closest place to buy <F>ighters, shields, and holds
  328. Invoke this option, and you will be asked for your current sector.  The
  329. computer will then display the path from that sector to any place it knows of
  330. to buy fighters: if the only class 0 port you know is Terra, that is the only
  331. one it will display, but if you know of the others, it will display a shortest
  332. path to the closest of those sectors, or the Stardock.
  333.  
  334.      <L>ength & path between two sectors
  335. You specify two sectors, and it will tell you the shortest way it knows of to
  336. get between those two sectors.  Note that this may NOT be the actual shortest
  337. path if there are sectors you have not yet explored that might give you a
  338. better route.  It gives you the shortest path YOU'VE EXPLORED between those
  339. two sectors.  It will not route your path across an avoid.  The program will
  340. actually list the path in both directions, with a pause (for a return) in
  341. between.
  342.  
  343.      <M>isc config options
  344. Currently, there are two allowed configuration options.  You can turn the
  345. color off: this prints everything in monochrome, and changes port colors to
  346. small printouts of the actual ports.  It looks good on my laptop... your
  347. mileage may vary.  (Suggestions?)  Anyway, if you load GRAPHICS.COM, this
  348. allows you to print the screen and still see port sector numbers.  The other
  349. option is for verbose or terse sector descriptors.  In verbose mode, it will
  350. print "Fighters", "Space Lane", "Dead End", "Avoid", etc.  In terse mode, it
  351. will print "F", "SL", "DE", "AV" and so shouldn't overflow the line.
  352.  
  353.      <N>earest port
  354.       Nearest <S>ectors
  355.       Nearest <U>nexplored sectors
  356. These displays will give you information about what is close to your current
  357. position.  Information displayed includes if the sector has been explored, any
  358. notes, if its a port, its status (SSB for example, means selling Ore, selling
  359. Organics, and buying Equipment) and levels of production.  If you ask for the
  360. "Nearest Port" report, only ports are listed.  I find the "Nearest Unexplored
  361. sectors" report VERY useful for exploration purposes: I can just head toward
  362. the nearest unexplored sector easily this way.
  363.  
  364.      <P>aired ports
  365. This is one of my favorites.  What it does is go through the data base and
  366. find ports that are adjacent (i.e. you can warp between them using normal
  367. space in one turn) and are compatible (i.e. at port A you can buy a good
  368. that is sold at port B, and you can sell a good that is bought at port B).
  369. You can be selective (greedy) and only specify ports that are compatible in
  370. the very profitable Organic-Equipment trade, or ask for all compatible pairs.
  371. The program will offer you the opportunity to have the results sent to a text
  372. file, which you can print later (if you can't run the program simultaneously
  373. with your terminal emulator, you can get hard copy of the "hot sectors") and
  374. you can have the results sent to a text file that are compatible for upload
  375. (i.e. part 2 of the "Convert" program so you can keep an eye on trading levels
  376. at these critical ports).  Displayed to the screen is an integer "factor" --
  377. this number is based upon levels of goods available in the critical trades,
  378. and will give a rough estimate of how good a deal you are going to get.
  379.  
  380.      <T>ranswarp menu
  381. This drops down to a submenu that deals with locations of deployed fighters
  382. and using a transwarp drive.  Most submenu items are pretty obvious: you
  383. specify where you have deployed fighters, or tell the data base that some
  384. #%!%@$ has shot up your deployed fighters, or list the places the data base
  385. knows you've deployed your fighters.  The only thing that needs mentioning
  386. is the shortest route submenu item: you specify where you are, and where you
  387. want to go.  It figures out, based upon where your fighters are located, the
  388. fastest route to get there (using a transwarp jump and then normal autopilot).
  389. It may say to transwarp to your current sector -- that just means the shortest
  390. route lies through normal space.  Another thing interesting is that with
  391. Transwarp, the equivalent of "paired ports" are ports that you can hop
  392. between buying a little fuel ore for the engines and still trade
  393. organics/equipment.  Best is SBS & SSB: you can buy just enough fuel to make
  394. it to the other port.  Alternatively, you can buy enough fuel for a round
  395. trip: best is then SSB & BBS (so you sell as much equipment as possible)
  396. although SBS & BSB is also profitable.
  397.  
  398.      <V>iew space in graphic format
  399. Viewing the data will attempt a graphic display on your screen of space: you
  400. tell it about how many rows across and columns up and down of sectors to use
  401. (maximums are given in the program: hit a return, and you get a default value
  402. that is about 3/4 of maximum); you tell it the base sector you want in the
  403. center of the screen (it has to be a sector you've visited!); and you tell it
  404. how large a radius to display (all sectors it is aware of no more than that
  405. distance away from your base sector).  It will try to display the collection
  406. of warps that make up your known space.  Ordinary, visited sectors are shown
  407. as circles, ports as rectangles.  (Unexplored sectors just have their numbers
  408. floating in space, and if you have color are in yellow.)  Lines connecting
  409. sectors means there is a warp connecting one with the other.  Dashed lines
  410. mean that you don't know if the warp is two way or not: if one end of the line
  411. connects to an unexplored sector, you will have a dashed line.  If both of the
  412. sectors at each end are explored, the warp really is one way!  (Try graphing
  413. around the StarDock and around the class 0 ports.)  Don't try to graph too
  414. many sectors at once: the screen gets too busy, and you won't be able to tell
  415. what connects to what.
  416.  
  417.      <Y>ou asked for non-adjacent trading pairs?
  418. Some people had observed that my program worked too well: in their games
  419. they couldn't find any paired ports at which to trade.  They wanted "almost
  420. adjacent" ports.  Well, I can't really believe these things are going to be
  421. profitable (can't you just spend time hauling colonists until the ports
  422. regenerate?) but hey, if they really want to spend the turns...
  423.  
  424.  
  425.  
  426. Use of the OFFLINE program 
  427. -------------------------- 
  428.  
  429. The OFFLINE program is envisioned as something you use while not logged into
  430. the game, to decide upon strategy and the like.  Version 0.92 gives the
  431. following menu:
  432.  
  433.     <C>ontrolled sector status
  434.     <D>ead end analysis
  435.      suggest <E>therprobe targets
  436.      visit <M>ultiple sectors efficiently
  437.     <O>ne way warps
  438.     <Q>uit
  439.     <S>tellar dispersion
  440.     <T>raffic area analysis
  441.     <U>known sectors
  442.     <V>isit every sector
  443.  
  444. The <C>ontrolled sector status display is useful to look for backdoors or
  445. sectors that you have missed in setting out a domain.  Essentially, you
  446. specify militarized sectors that mark the perimeter of your domain, and then
  447. a sector that is "inside".  It runs through the area you can get to without
  448. running a militarized gauntlet.  If it finds an opening out into the major
  449. space lanes, there is a problem...
  450.  
  451. The <D>ead end analysis provides you with the dispersion of the dead ends by
  452. tunnel length.  A tunnel is a sequence of sectors adjacent to only two
  453. sectors, the last of which is a dead end.  These are convenient places to
  454. place your citadels, as you can fortify the citadel and make someone fire
  455. off lots of photon torpedos or fight through lots of defenses to get to your
  456. home sector.  After displaying the dispersion, it asks for a tunnel length,
  457. and then will display all tunnels of that length.  It checks for "back
  458. door"s, i.e. one way warps into your tunnel, then displays the distance of
  459. the home sector from terra.
  460.  
  461. suggest <E>therprobe targets and <V>isit every sector efficiently are two
  462. commands that you might use in the endgame.  Lets assume you have already
  463. mapped all the sectors and are just looking for where your opponents have
  464. built up their citadels.  What these allow is building up of a "map" of
  465. sectors you have recently visited/scanned recently, so you can tell where
  466. your opponents are hiding.  The former will make a suggestion to sectors
  467. that will show lots of new sectors for you, and the last will actually offer
  468. a circular path through the galaxy that will allow you to visit or scan
  469. every possible sector.  (Incidentally, a galactic tour, from scratch, takes
  470. about 1000 moves.  A scout can easily do that in a week.  If you use up a
  471. bunch of etherprobes, you can do it in a long (and expensive) day.)
  472.  
  473. visit <M>ultiple sectors efficiently is intended to provide the following:
  474. you know that you want to hit sectors A, B, C, D, and are going to go through
  475. normal space -- the program will suggest which is the best order to visit
  476. the sectors.  You can specify if you want to return to your original
  477. starting point, or just end at one of the targets.  (This allows you to make
  478. long chains, if you want to hit thirty or fourty ports.)
  479.  
  480. <O>ne way warps gives you a listing of known one-way warps.  Not terribly
  481. useful at the moment, but it is interesting, eh?
  482.  
  483. <S>tellar dispersion will provide the dispersion of sectors from a given
  484. sector.  This will give you a general feel for whether a sector is near the
  485. middle of the galaxy (lots of sectors at distance 3, 4, 5, 6) or on the rim
  486. of the galaxy (lots of sectors at distance 11, 12, 13, 14).  Useful,
  487. somewhat, in deciding where to hide citadels or place threatening fighter
  488. clouds.
  489.  
  490. <T>raffic area analysis will take a long time to compute... but when it
  491. finishes, it will determine via connectivity what the most likely sector to
  492. find a trader is.  Basically, it runs through all million paths between
  493. pairs of sectors, weights the path by its ends (in "uniform" weights, the
  494. weight is 1; in "port heavy" weights, the weights are
  495.  
  496.       Port Type     Weight
  497.       blank sector     0
  498.       BBB, SSS         1
  499.       SBB, BSS         2
  500.       BSB, BBS         4
  501.       SSB, SBS         4
  502.       HFS             10
  503.       Terra           20
  504.       space.dock      50
  505.  
  506. The number that comes out is the number of paths through that given sector,
  507. with paths weighted as above.  High numbers are good places to put
  508. fighter/mine blockades; or small numbers of fighters to collect tolls or
  509. just track the trader traveling through the sector.
  510.  
  511. Generally, when you are in a reasonably established game, a turn is worth a
  512. lot more than 3,000 credits, so you use etherprobes to explore.  How do you
  513. best use the etherprobes?  Well, you can spend a lot of time with the
  514. Crai... or you can use the <U>known sectors list.  These will be sectors
  515. that you don't have attached to any sector you've encountered.  If they are
  516. connected to the universe at all (the universe generation has a bug in that
  517. there can be sectors that you can't warp into; the only way to find this is
  518. to turn all avoids off, and ask for the shortest path to that sector --
  519. don't try to use an etherprobe targeted at that sector, it will just waste
  520. the etherprobe) and you fire an etherprobe at it, you will pick up at least
  521. two sectors.  I find that once I'm at 70% or so, this list will be
  522. sufficiently small that I can use the crai just on these sectors, and use up
  523. some etherprobes efficiently.
  524.  
  525.  
  526. FINIS
  527. -----
  528.  
  529. The program is compiled under Turbo Pascal 6.0 by Borland Inc.  (Borland is
  530. a trademark.  People always seem to mention trademarks, so I guess I better.)
  531. It doesn't use much more than Standard Pascal, except for file handling and
  532. IO.  Originally, this was developed on a Mac (also Turbo Pascal, version 1.1
  533. I think) but around version 0.86 I switched to working on an IBM laptop.
  534. [The name of my laptop is "Flowers of Evil".  I'm rather fond of Zelazny's
  535. work.  Also Flaubert, but that isn't important.]  There are three files with
  536. extension .PAS that are used to generate the executables -- they are little
  537. more than a reference to all the files, statement of global variables, and
  538. the main event loop.  There are many files with extension .INC that contain
  539. procedures called by the main event and each other; lots of code is shared.
  540. As of version 0.92, CONVERT contains 1655 lines, EXAMINE 2811 lines, and
  541. OFFLINE 2223 lines (as reported GET INFO from the Turbo IDE).
  542.  
  543. The code isn't very tightly written.  In fact, I tend to just go off and
  544. doodle for a while.  That's the breaks.  I think its reasonably legible,
  545. however.  If you have difficulty understanding the code, I'd be happy to
  546. explain it to you -- see FEEDBACK below.  Lots of people have asked about
  547. the shortest path algorithm: its a very standard routine and can be found in
  548. most introductory computer science texts dealing with directed graphs.  I
  549. did swipe the permutation generating routine (for the "visit multiple
  550. sectors optimally") from B. R. Heap recursive routine.  Everything else is
  551. dead standard and not terribly inspired.  And the who thing reeks of
  552. creeping featuritis.  It really should be rewritten from scratch, using an
  553. oops toolbox in C++.  And gosh, I could make it a windows program, and
  554. desqview-aware, and...  ;-)
  555.  
  556. So, that is the program at the moment.  There are still lots of things I
  557. want to add, but I make my living as a professor, not a programmer... this
  558. is supposed to be fun, see?  :-) Still, the program will probably make it to
  559. version 1.0, so I can stop dealing with it, someday...
  560.  
  561.  
  562. FEEDBACK
  563. --------
  564.  
  565. WWIVnet:  I run a BBS at 510-376-1554; leave mail to number 1.  The board
  566.           is, in theory, open 24 hours a day, but it goes down a lot.
  567.           Since the board is at work, it occasionally stays down a couple of
  568.           days at a time.  (It seems to know when I go on vacation...)
  569.           If you are part of a WWIVnet board, you can mail 1@5056.
  570.  
  571. Internet: I can be reached as woody@galileo.stmarys-ca.edu.  I generally
  572.       read my email twice a day.  The current version of the program is
  573.       also available by anonymous ftp from galileo.stmarys-ca.edu
  574.       (149.137.1.1) under /pub/tradewars, In fact, Richard Byron Ward has
  575.       been collecting a variety of trade wars utilities, and storing
  576.       them there.  So you might find some utility you don't have there.
  577.       If you are a utility writer, I would be most happy to store your
  578.       work and make it available to the Internet.
  579.  
  580. Yes, I do consider suggestions.  Sometimes the answer is "no".  Sometimes it
  581. works its way into the program.  If you want your suggestion to almost
  582. surely be included in the code, include a source patch!  ;-)
  583.  
  584.  
  585.  
  586. ACKNOWLEDGEMENTS
  587. ----------------
  588.  
  589. Thanks, of course, to the Martins for such a great game!
  590.  
  591.  
  592. COPYRIGHT AND LICENSING STUFF
  593. -----------------------------
  594.  
  595. Copyright 1991, 1992 by Robert Weaver.  All Rights Reserved.  You may not
  596. distribute this for any fee beyond the reasonable costs of distribution.
  597. Permission is granted to distribute this document and the related
  598. executables and source code provided this notice is preserved, and anyone
  599. you give the executable has the ability to obtain this documentation and the
  600. accompanying source files.
  601.